//===------------------- include/Reader/vtypeinfo.h -------------*- C++ -*-===//
//
// LLILC
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license.
// See LICENSE file in the project root for full license information.
//
//===----------------------------------------------------------------------===//
///
/// \file
/// \brief Debugging String literal definitions for Verifier Type Interface
///
//===----------------------------------------------------------------------===//

#define MVER_E_HRESULT                        VER_E_HRESULT
#define MVER_E_OFFSET                         VER_E_OFFSET
#define MVER_E_OPCODE                         VER_E_OPCODE
#define MVER_E_OPERAND                        VER_E_OPERAND
#define MVER_E_TOKEN                          VER_E_TOKEN
#define MVER_E_EXCEPT                         VER_E_EXCEPT
#define MVER_E_STACK_SLOT                     VER_E_STACK_SLOT
#define MVER_E_LOC                            VER_E_LOC
#define MVER_E_LOC_BYNAME                     VER_E_LOC_BYNAME
#define MVER_E_ARG                            VER_E_ARG
#define MVER_E_FOUND                          VER_E_FOUND
#define MVER_E_EXPECTED                       VER_E_EXPECTED
#define MVER_E_UNKNOWN_OPCODE                 VER_E_UNKNOWN_OPCODE
#define MVER_E_SIG_CALLCONV                   VER_E_SIG_CALLCONV
#define MVER_E_SIG_ELEMTYPE                   VER_E_SIG_ELEMTYPE
#define MVER_E_RET_SIG                        VER_E_RET_SIG
#define MVER_E_FIELD_SIG                      VER_E_FIELD_SIG
#define MVER_E_INTERNAL                       VER_E_INTERNAL
#define MVER_E_STACK_TOO_LARGE                VER_E_STACK_TOO_LARGE
#define MVER_E_ARRAY_NAME_LONG                VER_E_ARRAY_NAME_LONG
#define MVER_E_FALLTHRU                       VER_E_FALLTHRU
#define MVER_E_TRY_GTEQ_END                   VER_E_TRY_GTEQ_END
#define MVER_E_TRYEND_GT_CS                   VER_E_TRYEND_GT_CS
#define MVER_E_HND_GTEQ_END                   VER_E_HND_GTEQ_END
#define MVER_E_HNDEND_GT_CS                   VER_E_HNDEND_GT_CS
#define MVER_E_TRY_START                      VER_E_TRY_START
#define MVER_E_HND_START                      VER_E_HND_START
#define MVER_E_TRY_OVERLAP                    VER_E_TRY_OVERLAP
#define MVER_E_TRY_EQ_HND_FIL                 VER_E_TRY_EQ_HND_FIL
#define MVER_E_TRY_SHARE_FIN_FAL              VER_E_TRY_SHARE_FIN_FAL
#define MVER_E_HND_OVERLAP                    VER_E_HND_OVERLAP
#define MVER_E_HND_EQ                         VER_E_HND_EQ
#define MVER_E_FIL_OVERLAP                    VER_E_FIL_OVERLAP
#define MVER_E_FIL_EQ                         VER_E_FIL_EQ
#define MVER_E_FIL_CONT_TRY                   VER_E_FIL_CONT_TRY
#define MVER_E_FIL_CONT_HND                   VER_E_FIL_CONT_HND
#define MVER_E_FIL_CONT_FIL                   VER_E_FIL_CONT_FIL
#define MVER_E_FIL_GTEQ_CS                    VER_E_FIL_GTEQ_CS
#define MVER_E_FIL_START                      VER_E_FIL_START
#define MVER_E_FALLTHRU_EXCEP                 VER_E_FALLTHRU_EXCEP
#define MVER_E_FALLTHRU_INTO_HND              VER_E_FALLTHRU_INTO_HND
#define MVER_E_FALLTHRU_INTO_FIL              VER_E_FALLTHRU_INTO_FIL
#define MVER_E_LEAVE                          VER_E_LEAVE
#define MVER_E_RETHROW                        VER_E_RETHROW
#define MVER_E_ENDFINALLY                     VER_E_ENDFINALLY
#define MVER_E_ENDFILTER                      VER_E_ENDFILTER
#define MVER_E_ENDFILTER_MISSING              VER_E_ENDFILTER_MISSING
#define MVER_E_BR_INTO_TRY                    VER_E_BR_INTO_TRY
#define MVER_E_BR_INTO_HND                    VER_E_BR_INTO_HND
#define MVER_E_BR_INTO_FIL                    VER_E_BR_INTO_FIL
#define MVER_E_BR_OUTOF_TRY                   VER_E_BR_OUTOF_TRY
#define MVER_E_BR_OUTOF_HND                   VER_E_BR_OUTOF_HND
#define MVER_E_BR_OUTOF_FIL                   VER_E_BR_OUTOF_FIL
#define MVER_E_BR_OUTOF_FIN                   VER_E_BR_OUTOF_FIN
#define MVER_E_RET_FROM_TRY                   VER_E_RET_FROM_TRY
#define MVER_E_RET_FROM_HND                   VER_E_RET_FROM_HND
#define MVER_E_RET_FROM_FIL                   VER_E_RET_FROM_FIL
#define MVER_E_BAD_JMP_TARGET                 VER_E_BAD_JMP_TARGET
#define MVER_E_PATH_LOC                       VER_E_PATH_LOC
#define MVER_E_PATH_THIS                      VER_E_PATH_THIS
#define MVER_E_PATH_STACK                     VER_E_PATH_STACK
#define MVER_E_PATH_STACK_DEPTH               VER_E_PATH_STACK_DEPTH
#define MVER_E_THIS                           VER_E_THIS
#define MVER_E_THIS_UNINIT_EXCEP              VER_E_THIS_UNINIT_EXCEP
#define MVER_E_THIS_UNINIT_STORE              VER_E_THIS_UNINIT_STORE
#define MVER_E_THIS_UNINIT_RET                VER_E_THIS_UNINIT_RET
#define MVER_E_THIS_UNINIT_V_RET              VER_E_THIS_UNINIT_V_RET
#define MVER_E_THIS_UNINIT_BR                 VER_E_THIS_UNINIT_BR
#define MVER_E_LDFTN_CTOR                     VER_E_LDFTN_CTOR
#define MVER_E_STACK_NOT_EQ                   VER_E_STACK_NOT_EQ
#define MVER_E_STACK_UNEXPECTED               VER_E_STACK_UNEXPECTED
#define MVER_E_STACK_EXCEPTION                VER_E_STACK_EXCEPTION
#define MVER_E_STACK_OVERFLOW                 VER_E_STACK_OVERFLOW
#define MVER_E_STACK_UNDERFLOW                VER_E_STACK_UNDERFLOW
#define MVER_E_STACK_EMPTY                    VER_E_STACK_EMPTY
#define MVER_E_STACK_UNINIT                   VER_E_STACK_UNINIT
#define MVER_E_STACK_I_I4_I8                  VER_E_STACK_I_I4_I8
#define MVER_E_STACK_I_I4                     VER_E_STACK_I_I4
#define MVER_E_STACK_R_R4_R8                  VER_E_STACK_R_R4_R8
#define MVER_E_STACK_NO_R_I8                  VER_E_STACK_NO_R_I8
#define MVER_E_STACK_NUMERIC                  VER_E_STACK_NUMERIC
#define MVER_E_STACK_OBJREF                   VER_E_STACK_OBJREF
#define MVER_E_STACK_P_OBJREF                 VER_E_STACK_P_OBJREF
#define MVER_E_STACK_BYREF                    VER_E_STACK_BYREF
#define MVER_E_STACK_METHOD                   VER_E_STACK_METHOD
#define MVER_E_STACK_ARRAY_SD                 VER_E_STACK_ARRAY_SD
#define MVER_E_STACK_VALCLASS                 VER_E_STACK_VALCLASS
#define MVER_E_STACK_P_VALCLASS               VER_E_STACK_P_VALCLASS
#define MVER_E_STACK_NO_VALCLASS              VER_E_STACK_NO_VALCLASS
#define MVER_E_LOC_DEAD                       VER_E_LOC_DEAD
#define MVER_E_LOC_NUM                        VER_E_LOC_NUM
#define MVER_E_ARG_NUM                        VER_E_ARG_NUM
#define MVER_E_TOKEN_RESOLVE                  VER_E_TOKEN_RESOLVE
#define MVER_E_TOKEN_TYPE                     VER_E_TOKEN_TYPE
#define MVER_E_TOKEN_TYPE_MEMBER              VER_E_TOKEN_TYPE_MEMBER
#define MVER_E_TOKEN_TYPE_FIELD               VER_E_TOKEN_TYPE_FIELD
#define MVER_E_TOKEN_TYPE_SIG                 VER_E_TOKEN_TYPE_SIG
#define MVER_E_UNVERIFIABLE                   VER_E_UNVERIFIABLE
#define MVER_E_LDSTR_OPERAND                  VER_E_LDSTR_OPERAND
#define MVER_E_RET_PTR_TO_STACK               VER_E_RET_PTR_TO_STACK
#define MVER_E_RET_VOID                       VER_E_RET_VOID
#define MVER_E_RET_MISSING                    VER_E_RET_MISSING
#define MVER_E_RET_EMPTY                      VER_E_RET_EMPTY
#define MVER_E_RET_UNINIT                     VER_E_RET_UNINIT
#define MVER_E_ARRAY_ACCESS                   VER_E_ARRAY_ACCESS
#define MVER_E_ARRAY_V_STORE                  VER_E_ARRAY_V_STORE
#define MVER_E_ARRAY_SD                       VER_E_ARRAY_SD
#define MVER_E_ARRAY_SD_PTR                   VER_E_ARRAY_SD_PTR
#define MVER_E_ARRAY_FIELD                    VER_E_ARRAY_FIELD
#define MVER_E_ARGLIST                        VER_E_ARGLIST
#define MVER_E_VALCLASS                       VER_E_VALCLASS
#define MVER_E_OPEN_DLGT_PROT_ACC             VER_E_OPEN_DLGT_PROT_ACC
#define MVER_E_METHOD_ACCESS                  VER_E_METHOD_ACCESS
#define MVER_E_FIELD_ACCESS                   VER_E_FIELD_ACCESS
#define MVER_E_DEAD                           VER_E_DEAD
#define MVER_E_FIELD_STATIC                   VER_E_FIELD_STATIC
#define MVER_E_FIELD_NO_STATIC                VER_E_FIELD_NO_STATIC
#define MVER_E_ADDR                           VER_E_ADDR
#define MVER_E_ADDR_BYREF                     VER_E_ADDR_BYREF
#define MVER_E_ADDR_LITERAL                   VER_E_ADDR_LITERAL
#define MVER_E_INITONLY                       VER_E_INITONLY
#define MVER_E_WRITE_RVA_STATIC               VER_E_WRITE_RVA_STATIC
#define MVER_E_THROW                          VER_E_THROW
#define MVER_E_CALLVIRT_VALCLASS              VER_E_CALLVIRT_VALCLASS
#define MVER_E_CALL_SIG                       VER_E_CALL_SIG
#define MVER_E_CALL_STATIC                    VER_E_CALL_STATIC
#define MVER_E_CTOR                           VER_E_CTOR
#define MVER_E_CTOR_VIRT                      VER_E_CTOR_VIRT
#define MVER_E_CTOR_OR_SUPER                  VER_E_CTOR_OR_SUPER
#define MVER_E_CTOR_MUL_INIT                  VER_E_CTOR_MUL_INIT
#define MVER_E_SIG                            VER_E_SIG
#define MVER_E_SIG_ARRAY                      VER_E_SIG_ARRAY
#define MVER_E_SIG_ARRAY_PTR                  VER_E_SIG_ARRAY_PTR
#define MVER_E_SIG_ARRAY_BYREF                VER_E_SIG_ARRAY_BYREF
#define MVER_E_SIG_ELEM_PTR                   VER_E_SIG_ELEM_PTR
#define MVER_E_SIG_VARARG                     VER_E_SIG_VARARG
#define MVER_E_SIG_VOID                       VER_E_SIG_VOID
#define MVER_E_SIG_BYREF_BYREF                VER_E_SIG_BYREF_BYREF
#define MVER_E_CODE_SIZE_ZERO                 VER_E_CODE_SIZE_ZERO
#define MVER_E_BAD_VARARG                     VER_E_BAD_VARARG
#define MVER_E_TAIL_CALL                      VER_E_TAIL_CALL
#define MVER_E_TAIL_BYREF                     VER_E_TAIL_BYREF
#define MVER_E_TAIL_RET                       VER_E_TAIL_RET
#define MVER_E_TAIL_RET_VOID                  VER_E_TAIL_RET_VOID
#define MVER_E_TAIL_RET_TYPE                  VER_E_TAIL_RET_TYPE
#define MVER_E_TAIL_STACK_EMPTY               VER_E_TAIL_STACK_EMPTY
#define MVER_E_METHOD_END                     VER_E_METHOD_END
#define MVER_E_BAD_BRANCH                     VER_E_BAD_BRANCH
#define MVER_E_FIN_OVERLAP                    VER_E_FIN_OVERLAP
#define MVER_E_LEXICAL_NESTING                VER_E_LEXICAL_NESTING
#define MVER_E_VOLATILE                       VER_E_VOLATILE
#define MVER_E_UNALIGNED                      VER_E_UNALIGNED
#define MVER_E_INNERMOST_FIRST                VER_E_INNERMOST_FIRST
#define MVER_E_CALLI_VIRTUAL                  VER_E_CALLI_VIRTUAL
#define MVER_E_CALL_ABSTRACT                  VER_E_CALL_ABSTRACT
#define MVER_E_STACK_UNEXP_ARRAY              VER_E_STACK_UNEXP_ARRAY
#define MVER_E_NOT_IN_GC_HEAP                 VER_E_NOT_IN_GC_HEAP
#define MVER_E_TRY_N_EMPTY_STACK              VER_E_TRY_N_EMPTY_STACK
#define MVER_E_DLGT_CTOR                      VER_E_DLGT_CTOR
#define MVER_E_DLGT_BB                        VER_E_DLGT_BB
#define MVER_E_DLGT_PATTERN                   VER_E_DLGT_PATTERN
#define MVER_E_DLGT_LDFTN                     VER_E_DLGT_LDFTN
#define MVER_E_FTN_ABSTRACT                   VER_E_FTN_ABSTRACT
#define MVER_E_SIG_C_VC                       VER_E_SIG_C_VC
#define MVER_E_SIG_VC_C                       VER_E_SIG_VC_C
#define MVER_E_BOX_PTR_TO_STACK               VER_E_BOX_PTR_TO_STACK
#define MVER_E_SIG_BYREF_TB_AH                VER_E_SIG_BYREF_TB_AH
#define MVER_E_SIG_ARRAY_TB_AH                VER_E_SIG_ARRAY_TB_AH
#define MVER_E_ENDFILTER_STACK                VER_E_ENDFILTER_STACK
#define MVER_E_DLGT_SIG_I                     VER_E_DLGT_SIG_I
#define MVER_E_DLGT_SIG_O                     VER_E_DLGT_SIG_O
#define MVER_E_RA_PTR_TO_STACK                VER_E_RA_PTR_TO_STACK
#define MVER_E_CATCH_VALUE_TYPE               VER_E_CATCH_VALUE_TYPE
#define MVER_E_CATCH_BYREF                    VER_E_CATCH_BYREF
#define MVER_E_FIL_PRECEED_HND                VER_E_FIL_PRECEED_HND
#define MVER_E_LDVIRTFTN_STATIC               VER_E_LDVIRTFTN_STATIC
#define MVER_E_CALLVIRT_STATIC                VER_E_CALLVIRT_STATIC
#define MVER_E_INITLOCALS                     VER_E_INITLOCALS
#define MVER_E_BR_TO_EXCEPTION                VER_E_BR_TO_EXCEPTION
#define MVER_E_CALL_CTOR                      VER_E_CALL_CTOR
#define MVER_E_VALCLASS_OBJREF_VAR            VER_E_VALCLASS_OBJREF_VAR
#define MVER_E_STACK_P_VALCLASS_OBJREF_VAR	  VER_E_STACK_P_VALCLASS_OBJREF_VAR
#define MVER_E_SIG_VAR_PARAM                  VER_E_SIG_VAR_PARAM
#define MVER_E_SIG_MVAR_PARAM                 VER_E_SIG_MVAR_PARAM
#define MVER_E_SIG_VAR_ARG                    VER_E_SIG_VAR_ARG
#define MVER_E_SIG_MVAR_ARG                   VER_E_SIG_MVAR_ARG
#define MVER_E_SIG_GENERICINST                VER_E_SIG_GENERICINST
#define MVER_E_SIG_METHOD_INST                VER_E_SIG_METHOD_INST
#define MVER_E_SIG_METHOD_PARENT_INST         VER_E_SIG_METHOD_PARENT_INST
#define MVER_E_SIG_FIELD_PARENT_INST          VER_E_SIG_FIELD_PARENT_INST
#define MVER_E_CALLCONV_NOT_GENERICINST       VER_E_CALLCONV_NOT_GENERICINST
#define MVER_E_TOKEN_BAD_METHOD_SPEC          VER_E_TOKEN_BAD_METHOD_SPEC
#define MVER_E_BAD_READONLY_PREFIX            VER_E_BAD_READONLY_PREFIX   
#define MVER_E_BAD_CONSTRAINED_PREFIX         VER_E_BAD_CONSTRAINED_PREFIX
#define MVER_E_CIRCULAR_VAR_CONSTRAINTS       VER_E_CIRCULAR_VAR_CONSTRAINTS  
#define MVER_E_CIRCULAR_MVAR_CONSTRAINTS      VER_E_CIRCULAR_MVAR_CONSTRAINTS 

#define MVER_E_UNSATISFIED_METHOD_INST        VER_E_UNSATISFIED_METHOD_INST
#define MVER_E_UNSATISFIED_METHOD_PARENT_INST                                  \
  VER_E_UNSATISFIED_METHOD_PARENT_INST
#define MVER_E_UNSATISFIED_FIELD_PARENT_INST                                   \
  VER_E_UNSATISFIED_FIELD_PARENT_INST
#define MVER_E_UNSATISFIED_BOX_OPERAND        VER_E_UNSATISFIED_BOX_OPERAND

#define MVER_E_CONSTRAINED_CALL_WITH_NON_BYREF_THIS                            \
  VER_E_CONSTRAINED_CALL_WITH_NON_BYREF_THIS
#define MVER_E_CONSTRAINED_OF_NON_VARIABLE_TYPE                                \
  VER_E_CONSTRAINED_OF_NON_VARIABLE_TYPE
#define MVER_E_READONLY_UNEXPECTED_CALLEE     VER_E_READONLY_UNEXPECTED_CALLEE
#define MVER_E_READONLY_ILLEGAL_WRITE         VER_E_READONLY_ILLEGAL_WRITE
#define MVER_E_READONLY_IN_MKREFANY           VER_E_READONLY_IN_MKREFANY
#define MVER_E_UNALIGNED_ALIGNMENT            VER_E_UNALIGNED_ALIGNMENT
#define MVER_E_TAILCALL_INSIDE_EH             VER_E_TAILCALL_INSIDE_EH
#define MVER_E_BACKWARD_BRANCH                VER_E_BACKWARD_BRANCH
#define MVER_E_CALL_TO_VTYPE_BASE             VER_E_CALL_TO_VTYPE_BASE         

#define MVER_E_BAD_PE                         VER_E_BAD_PE
#define MVER_E_BAD_MD                         VER_E_BAD_MD

#define MVER_E_BAD_APPDOMAIN                  VER_E_BAD_APPDOMAIN
#define MVER_E_TYPELOAD                       VER_E_TYPELOAD
#define MVER_E_PE_LOAD                        VER_E_PE_LOAD
#define MVER_E_NEWOBJ_OF_ABSTRACT_CLASS       VER_E_NEWOBJ_OF_ABSTRACT_CLASS
#define MVER_E_FIELD_OVERLAP                  VER_E_FIELD_OVERLAP
#define MVER_E_LDFTN_NON_FINAL_VIRTUAL        VER_E_LDFTN_NON_FINAL_VIRTUAL
#define MVER_E_UNMANAGED_POINTER              VER_E_UNMANAGED_POINTER       
#define MVER_E_THIS_MISMATCH                  VER_E_THIS_MISMATCH

#define MVER_E_INITIALIZE_ARRAY_MISSING_TOKEN                                  \
  VER_E_INITIALIZE_ARRAY_MISSING_TOKEN
